/**************************************************************************************** Import */
import Dialog from '../../library/func/system/basis/dialog';
import Console from './helper/console';

/**************************************************************************************** Object */
export default {

    /**
     * 静默无提示
     */
    default: {
        start(obj) {
            Console.start();
        },
        end(obj) {
            Console.end();
        },
        success(data, obj) {
            obj.page.setState({scene: obj.page.scene.success});
            Console.success();
        },
        error(res, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.error();
        },
        lose(res, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.lose();
        },
        crash(res, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.crash();
        },
        chaos(text, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.chaos();
        },
        offline(err) {
            obj.page.setState({scene: obj.page.scene.offline});
            Console.offline();
        }
    },

    /**
     * 加载过程中：弹出loading框
     */
    loading: {
        start(obj) {
            Dialog.loading();
            Console.start();
        },
        end(obj) {
            Dialog.hide();
            Console.end();
        },
        success(data, obj) {
            obj.page.setState({scene: obj.page.scene.success});
            Console.success();
        },
        error(res, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.error();
        },
        lose(res, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.lose();
        },
        crash(res, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.crash();
        },
        chaos(text, obj) {
            obj.page.setState({scene: obj.page.scene.error});
            Console.chaos();
        },
        offline(err) {
            obj.page.setState({scene: obj.page.scene.offline});
            Console.offline();
        }
    },

    /**
     * 出现错误时：弹出吐司菜单
     */
    toast: {
        start(obj) {
            Console.start();
        },
        end(obj) {
            Console.end();
        },
        success(data, obj) {
            obj.page.setState({scene: obj.page.scene.success});
            Console.success();
        },
        error(res, obj) {
            Dialog.error(res.Console);
            obj.page.setState({scene: obj.page.scene.error});
            Console.error();
        },
        lose(res, obj) {
            Dialog.error('请求失败');
            obj.page.setState({scene: obj.page.scene.error});
            Console.lose();
        },
        crash(res, obj) {
            Dialog.error('请求失败');
            obj.page.setState({scene: obj.page.scene.error});
            Console.crash();
        },
        chaos(text, obj) {
            Dialog.error('请求失败');
            obj.page.setState({scene: obj.page.scene.error});
            Console.chaos();
        },
        offline(err) {
            Dialog.offline('网络错误');
            obj.page.setState({scene: obj.page.scene.offline});
            Console.offline();
        }
    },

    /**
     * 加载过程中：弹出loading框
     * 出现错误时：弹出吐司菜单
     */
    loadingToast: {
        start(obj) {
            Dialog.loading();
            Console.start();
        },
        end(obj) {
            Dialog.hide();
            Console.end();
        },
        success(data, obj) {
            obj.page.setState({scene: obj.page.scene.success});
            Console.success();
        },
        error(res, obj) {
            Dialog.error(res.Console);
            obj.page.setState({scene: obj.page.scene.error});
            Console.error();
        },
        lose(res, obj) {
            Dialog.error('请求失败');
            obj.page.setState({scene: obj.page.scene.error});
            Console.lose();
        },
        crash(res, obj) {
            Dialog.error('请求失败');
            obj.page.setState({scene: obj.page.scene.error});
            Console.crash();
        },
        chaos(text, obj) {
            Dialog.error('请求失败');
            obj.page.setState({scene: obj.page.scene.error});
            Console.chaos();
        },
        offline(err) {
            Dialog.offline('网络错误');
            obj.page.setState({scene: obj.page.scene.offline});
            Console.offline();
        }
    }
}
